MzYyMTY4ZWI2OTVkAgAAAAAAAAABAAAAAQAAAAEAAAAEAAAABQAAAAEAAAAAAAAA/////wMAAAAHAAcABwAAAAcAAAADAAAABhQAAPKNAAAHAAAAYV9pbmRleAkAAABfdWFfaW5kZXgAAAAAAQAAAAEAAAAAAAAA/////wIAAABSiwAA8o0AAAoAAABhX3Bvc2l0aW9uDAAAAF91YV9wb3NpdGlvbgAAAAABAAAAAQAAAAAAAAD/////AAAAAFCLAADyjQAACgAAAGFfdGV4Q29vcmQMAAAAX3VhX3RleENvb3JkAAAAAAEAAAABAAAAAAAAAP////8BAAAACAAAAFCLAADyjQAABwAAAHF1YWRbMF0JAAAAX3VxdWFkWzBdAQAAAAQAAAABAAAAAQAAAAAAAAD///////////////8AAAAA////////////////AQAAAAAAAAAAAAAAAAAAAFyLAADyjQAABgAAAG1hdHJpeAgAAABfdW1hdHJpeAAAAAABAAAAAQAAAAAAAAD///////////////8AAAAA////////////////AQAAAAAAAAAAAAAAAAAAAFKLAADyjQAAEgAAAHZlcnRleFRleFRyYW5zZm9ybRQAAABfdXZlcnRleFRleFRyYW5zZm9ybQAAAAABAAAAAQAAAAAAAAD///////////////8AAAAA////////////////AQAAAAAAAAAAAAAAAAAAAFKLAADxjQAAEQAAAHJvdW5kZWRDb3JuZXJSZWN0EwAAAF91cm91bmRlZENvcm5lclJlY3QAAAAAAQAAAAEAAAAAAAAA////////////////AAAAAP///////////////wAAAAABAAAAAAAAAAAAAABSiwAA8Y0AABMAAAByb3VuZGVkQ29ybmVyUmFkaXVzFQAAAF91cm91bmRlZENvcm5lclJhZGl1cwAAAAABAAAAAQAAAAAAAAD///////////////8AAAAA////////////////AAAAAAEAAAAAAAAAAAAAAFKLAADxjQAADgAAAHRleF9jbGFtcF9yZWN0EAAAAF91dGV4X2NsYW1wX3JlY3QAAAAAAQAAAAEAAAAAAAAA////////////////AAAAAP///////////////wAAAAABAAAAAAAAAAAAAAAGFAAA8Y0AAAUAAABhbHBoYQcAAABfdWFscGhhAAAAAAEAAAABAAAAAAAAAP///////////////wAAAAD///////////////8AAAAAAQAAAAAAAAAAAAAAXosAAAAAAAAJAAAAc190ZXh0dXJlCwAAAF91c190ZXh0dXJlAAAAAAEAAAABAAAAAAAAAP///////////////wAAAAD///////////////8AAAAAAQAAAAAAAAAAAAAACwAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIwAAAAAAAAAAAAAAAAAAAEAAAAGFAAAAQABAAEAAAAHAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAACAAAAAgAAAAAAAAACAAAAAgAAAADAAAAAhAAADYWAACqFxs4zgAAAACxAAAAAAAAAQAAAAIAAAAAAAAA/////////////////////////////////////////////////////////////////////xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAA////////////////BAAAAAAAAAAAAAAABAAAAP///////////////wQAAAAAAAAAAAAAAAgAAAD///////////////8BAAAAAAAAAAAAAAD/////AAAAAP//////////AQAAAAAAAAAAAAAA/////wEAAAD//////////wEAAAAAAAAAAAAAAP////8CAAAA//////////8BAAAAAAAAAAAAAAD/////AwAAAP//////////AQAAAAAAAAABAAAA/////wAAAAD//////////wEAAAAAAAAAAAAAAAAAAAAmBwAAc3RydWN0IFZTX09VVFBVVAp7CiAgICBmbG9hdDQgZHhfUG9zaXRpb24gOiBTVl9Qb3NpdGlvbjsKICAgIGZsb2F0NCBnbF9Qb3NpdGlvbiA6IFRFWENPT1JEMTsKICAgIGZsb2F0NCBnbF9GcmFnQ29vcmQgOiBURVhDT09SRDI7CiAgICBmbG9hdDIgdjAgOiBURVhDT09SRDA7Cn07CmZsb2F0NCB2ZWM0X2N0b3IoZmxvYXQyIHgwLCBmbG9hdCB4MSwgZmxvYXQgeDIpCnsKICAgIHJldHVybiBmbG9hdDQoeDAsIHgxLCB4Mik7Cn0KaW50IGludF9jdG9yKGZsb2F0IHgwKQp7CiAgICByZXR1cm4gaW50KHgwKTsKfQovLyBVbmlmb3JtcwoKdW5pZm9ybSBmbG9hdDIgX3F1YWRbNF0gOiByZWdpc3RlcihjMCk7CnVuaWZvcm0gZmxvYXQ0eDQgX21hdHJpeCA6IHJlZ2lzdGVyKGM0KTsKdW5pZm9ybSBmbG9hdDQgX3ZlcnRleFRleFRyYW5zZm9ybSA6IHJlZ2lzdGVyKGM4KTsKI2lmZGVmIEFOR0xFX0VOQUJMRV9MT09QX0ZMQVRURU4KI2RlZmluZSBMT09QIFtsb29wXQojZGVmaW5lIEZMQVRURU4gW2ZsYXR0ZW5dCiNlbHNlCiNkZWZpbmUgTE9PUAojZGVmaW5lIEZMQVRURU4KI2VuZGlmCgojZGVmaW5lIEFUT01JQ19DT1VOVEVSX0FSUkFZX1NUUklERSA0CgovLyBBdHRyaWJ1dGVzCnN0YXRpYyBmbG9hdCBfYV9pbmRleCA9IHswfTsKc3RhdGljIGZsb2F0NCBfYV9wb3NpdGlvbiA9IHswLCAwLCAwLCAwfTsKc3RhdGljIGZsb2F0MiBfYV90ZXhDb29yZCA9IHswLCAwfTsKCnN0YXRpYyBmbG9hdDQgZ2xfUG9zaXRpb24gPSBmbG9hdDQoMCwgMCwgMCwgMCk7CgovLyBWYXJ5aW5ncwpzdGF0aWMgIGZsb2F0MiBfdl90ZXhDb29yZCA9IHswLCAwfTsKCmNidWZmZXIgRHJpdmVyQ29uc3RhbnRzIDogcmVnaXN0ZXIoYjEpCnsKICAgIGZsb2F0NCBkeF9WaWV3QWRqdXN0IDogcGFja29mZnNldChjMSk7CiAgICBmbG9hdDIgZHhfVmlld0Nvb3JkcyA6IHBhY2tvZmZzZXQoYzIpOwogICAgZmxvYXQyIGR4X1ZpZXdTY2FsZSAgOiBwYWNrb2Zmc2V0KGMzKTsKfTsKCkBAIFZFUlRFWCBBVFRSSUJVVEVTIEBACgpWU19PVVRQVVQgZ2VuZXJhdGVPdXRwdXQoVlNfSU5QVVQgaW5wdXQpCnsKICAgIFZTX09VVFBVVCBvdXRwdXQ7CiAgICBvdXRwdXQuZ2xfUG9zaXRpb24gPSBnbF9Qb3NpdGlvbjsKICAgIG91dHB1dC5keF9Qb3NpdGlvbi54ID0gZ2xfUG9zaXRpb24ueDsKICAgIG91dHB1dC5keF9Qb3NpdGlvbi55ID0gLSBnbF9Qb3NpdGlvbi55OwogICAgb3V0cHV0LmR4X1Bvc2l0aW9uLnogPSAoZ2xfUG9zaXRpb24ueiArIGdsX1Bvc2l0aW9uLncpICogMC41OwogICAgb3V0cHV0LmR4X1Bvc2l0aW9uLncgPSBnbF9Qb3NpdGlvbi53OwogICAgb3V0cHV0LmdsX0ZyYWdDb29yZCA9IGdsX1Bvc2l0aW9uOwogICAgb3V0cHV0LnYwID0gX3ZfdGV4Q29vcmQ7CgogICAgcmV0dXJuIG91dHB1dDsKfQoKVlNfT1VUUFVUIG1haW4oVlNfSU5QVVQgaW5wdXQpewogICAgaW5pdEF0dHJpYnV0ZXMoaW5wdXQpOwoKaW50IF92ZXJ0ZXhfaW5kZXgyMzA5ID0gaW50X2N0b3IoX2FfaW5kZXgpOwpmbG9hdDQgX3BvczIzMTAgPSB2ZWM0X2N0b3IoX3F1YWRbX3ZlcnRleF9pbmRleDIzMDldLCBfYV9wb3NpdGlvbi56LCBfYV9wb3NpdGlvbi53KTsKKGdsX1Bvc2l0aW9uID0gbXVsKHRyYW5zcG9zZShfbWF0cml4KSwgX3BvczIzMTApKTsKZmxvYXQyIF90ZXhDb29yZDIzMTEgPSBfYV90ZXhDb29yZDsKKF90ZXhDb29yZDIzMTEgPSAoKF90ZXhDb29yZDIzMTEgKiBfdmVydGV4VGV4VHJhbnNmb3JtLnp3KSArIF92ZXJ0ZXhUZXhUcmFuc2Zvcm0ueHkpKTsKKF92X3RleENvb3JkID0gX3RleENvb3JkMjMxMSk7CnJldHVybiBnZW5lcmF0ZU91dHB1dChpbnB1dCk7Cn0KAAAAEQ8AAHN0cnVjdCBQU19JTlBVVAp7CiAgICBmbG9hdDQgZHhfUG9zaXRpb24gOiBTVl9Qb3NpdGlvbjsKICAgIGZsb2F0NCBnbF9Qb3NpdGlvbiA6IFRFWENPT1JEMTsKICAgIGZsb2F0NCBnbF9GcmFnQ29vcmQgOiBURVhDT09SRDI7CiAgICBmbG9hdDIgdjAgOiBURVhDT09SRDA7Cn07CgpmbG9hdDIgdmVjMl9jdG9yKGZsb2F0IHgwLCBmbG9hdCB4MSkKewogICAgcmV0dXJuIGZsb2F0Mih4MCwgeDEpOwp9Ci8vIFVuaWZvcm1zCgp1bmlmb3JtIGZsb2F0NCBfcm91bmRlZENvcm5lclJlY3QgOiByZWdpc3RlcihjMCk7CnVuaWZvcm0gZmxvYXQ0IF9yb3VuZGVkQ29ybmVyUmFkaXVzIDogcmVnaXN0ZXIoYzEpOwp1bmlmb3JtIGZsb2F0NCBfdGV4X2NsYW1wX3JlY3QgOiByZWdpc3RlcihjMik7CnVuaWZvcm0gZmxvYXQgX2FscGhhIDogcmVnaXN0ZXIoYzMpOwpzdGF0aWMgY29uc3QgdWludCBfc190ZXh0dXJlID0gMDsKdW5pZm9ybSBUZXh0dXJlMkQ8ZmxvYXQ0PiB0ZXh0dXJlczJEWzFdIDogcmVnaXN0ZXIodDApOwp1bmlmb3JtIFNhbXBsZXJTdGF0ZSBzYW1wbGVyczJEWzFdIDogcmVnaXN0ZXIoczApOwojaWZkZWYgQU5HTEVfRU5BQkxFX0xPT1BfRkxBVFRFTgojZGVmaW5lIExPT1AgW2xvb3BdCiNkZWZpbmUgRkxBVFRFTiBbZmxhdHRlbl0KI2Vsc2UKI2RlZmluZSBMT09QCiNkZWZpbmUgRkxBVFRFTgojZW5kaWYKCiNkZWZpbmUgQVRPTUlDX0NPVU5URVJfQVJSQVlfU1RSSURFIDQKCi8vIFZhcnlpbmdzCnN0YXRpYyAgZmxvYXQyIF92X3RleENvb3JkID0gezAsIDB9OwoKc3RhdGljIGZsb2F0NCBnbF9Db2xvclsxXSA9CnsKICAgIGZsb2F0NCgwLCAwLCAwLCAwKQp9OwpzdGF0aWMgZmxvYXQ0IGdsX0ZyYWdDb29yZCA9IGZsb2F0NCgwLCAwLCAwLCAwKTsKCmNidWZmZXIgRHJpdmVyQ29uc3RhbnRzIDogcmVnaXN0ZXIoYjEpCnsKICAgIGZsb2F0NCBkeF9WaWV3Q29vcmRzIDogcGFja29mZnNldChjMSk7CiAgICBmbG9hdDMgZHhfRGVwdGhGcm9udCA6IHBhY2tvZmZzZXQoYzIpOwogICAgZmxvYXQyIGR4X1ZpZXdTY2FsZSA6IHBhY2tvZmZzZXQoYzMpOwogICAgc3RydWN0IFNhbXBsZXJNZXRhZGF0YQogICAgewogICAgICAgIGludCBiYXNlTGV2ZWw7CiAgICAgICAgaW50IGludGVybmFsRm9ybWF0Qml0czsKICAgICAgICBpbnQgd3JhcE1vZGVzOwogICAgICAgIGludCBwYWRkaW5nOwogICAgICAgIGludDQgaW50Qm9yZGVyQ29sb3I7CiAgICB9OwogICAgU2FtcGxlck1ldGFkYXRhIHNhbXBsZXJNZXRhZGF0YVsxXSA6IHBhY2tvZmZzZXQoYzQpOwp9OwoKI2RlZmluZSBHTF9VU0VTX0ZSQUdfQ09MT1IKZmxvYXQ0IGdsX3RleHR1cmUyRCh1aW50IHNhbXBsZXJJbmRleCwgZmxvYXQyIHQpCnsKICAgIHJldHVybiB0ZXh0dXJlczJEW3NhbXBsZXJJbmRleF0uU2FtcGxlKHNhbXBsZXJzMkRbc2FtcGxlckluZGV4XSwgZmxvYXQyKHQueCwgdC55KSk7Cn0KCiNkZWZpbmUgR0xfVVNFU19GUkFHX0NPT1JECmZsb2F0NCBmX0lzQ29ybmVyKGluIGZsb2F0MiBfcmNDb29yZCkKewppZiAoKChfcmNDb29yZC54IDwgX3JvdW5kZWRDb3JuZXJSYWRpdXMueCkgJiYgKF9yY0Nvb3JkLnkgPCBfcm91bmRlZENvcm5lclJhZGl1cy54KSkpCnsKcmV0dXJuIGZsb2F0NCgxLjAsIDAuMCwgMC4wLCAwLjApOwp9CmlmICgoKF9yY0Nvb3JkLnggPiAoX3JvdW5kZWRDb3JuZXJSZWN0LnogLSBfcm91bmRlZENvcm5lclJhZGl1cy55KSkgJiYgKF9yY0Nvb3JkLnkgPCBfcm91bmRlZENvcm5lclJhZGl1cy55KSkpCnsKcmV0dXJuIGZsb2F0NCgwLjAsIDEuMCwgMC4wLCAwLjApOwp9CmlmICgoKF9yY0Nvb3JkLnggPiAoX3JvdW5kZWRDb3JuZXJSZWN0LnogLSBfcm91bmRlZENvcm5lclJhZGl1cy56KSkgJiYgKF9yY0Nvb3JkLnkgPiAoX3JvdW5kZWRDb3JuZXJSZWN0LncgLSBfcm91bmRlZENvcm5lclJhZGl1cy56KSkpKQp7CnJldHVybiBmbG9hdDQoMC4wLCAwLjAsIDEuMCwgMC4wKTsKfQppZiAoKChfcmNDb29yZC54IDwgX3JvdW5kZWRDb3JuZXJSYWRpdXMudykgJiYgKF9yY0Nvb3JkLnkgPiAoX3JvdW5kZWRDb3JuZXJSZWN0LncgLSBfcm91bmRlZENvcm5lclJhZGl1cy53KSkpKQp7CnJldHVybiBmbG9hdDQoMC4wLCAwLjAsIDAuMCwgMS4wKTsKfQpyZXR1cm4gZmxvYXQ0KDAuMCwgMC4wLCAwLjAsIDAuMCk7Cn0KZmxvYXQyIGZfR2V0Q2VudGVyX2Zsb2F0NChpbiBmbG9hdDQgX2Nvcm5lciwgaW4gZmxvYXQgX3JhZGl1cykKewppZiAoKF9jb3JuZXIueCA9PSAxLjApKQp7CnJldHVybiB2ZWMyX2N0b3IoX3JhZGl1cywgX3JhZGl1cyk7Cn0KZWxzZQp7CmlmICgoX2Nvcm5lci55ID09IDEuMCkpCnsKcmV0dXJuIHZlYzJfY3RvcigoX3JvdW5kZWRDb3JuZXJSZWN0LnogLSBfcmFkaXVzKSwgX3JhZGl1cyk7Cn0KZWxzZQp7CmlmICgoX2Nvcm5lci56ID09IDEuMCkpCnsKcmV0dXJuIHZlYzJfY3RvcigoX3JvdW5kZWRDb3JuZXJSZWN0LnogLSBfcmFkaXVzKSwgKF9yb3VuZGVkQ29ybmVyUmVjdC53IC0gX3JhZGl1cykpOwp9CmVsc2UKewpyZXR1cm4gdmVjMl9jdG9yKF9yYWRpdXMsIChfcm91bmRlZENvcm5lclJlY3QudyAtIF9yYWRpdXMpKTsKfQp9Cn0KcmV0dXJuIGZsb2F0MigwLjAsIDAuMCk7Cn0KZmxvYXQ0IGZfQXBwbHlSb3VuZGVkQ29ybmVyX2Zsb2F0NChpbiBmbG9hdDQgX3NyYykKewpmbG9hdDIgX3JjQ29vcmQyMzEwID0gKGdsX0ZyYWdDb29yZC54eSAtIF9yb3VuZGVkQ29ybmVyUmVjdC54eSk7CmZsb2F0NCBfaXNDb3JuZXIyMzExID0gZl9Jc0Nvcm5lcihfcmNDb29yZDIzMTApOwpmbG9hdCBfcjIzMTIgPSBkb3QoX2lzQ29ybmVyMjMxMSwgX3JvdW5kZWRDb3JuZXJSYWRpdXMpOwppZiAoKF9yMjMxMiA9PSAwLjApKQp7CnJldHVybiBfc3JjOwp9CmZsb2F0MiBfY29ybmVyQ2VudGVyMjMxMyA9IGZfR2V0Q2VudGVyX2Zsb2F0NChfaXNDb3JuZXIyMzExLCBfcjIzMTIpOwpmbG9hdDIgX2N4eTIzMTQgPSAoX3JjQ29vcmQyMzEwIC0gX2Nvcm5lckNlbnRlcjIzMTMpOwpmbG9hdCBfZnJhZ0RzdDIzMTUgPSBsZW5ndGgoX2N4eTIzMTQpOwpmbG9hdCBfYWxwaGEyMzE2ID0gc21vb3Roc3RlcCgoX3IyMzEyIC0gMS4wKSwgKF9yMjMxMiArIDEuMCksIF9mcmFnRHN0MjMxNSk7CnJldHVybiAoKGZsb2F0NCgwLjAsIDAuMCwgMC4wLCAwLjApICogX2FscGhhMjMxNikgKyAoX3NyYyAqICgxLjAgLSBfYWxwaGEyMzE2KSkpOwp9CkBAIFBJWEVMIE9VVFBVVCBAQAoKUFNfT1VUUFVUIG1haW4oUFNfSU5QVVQgaW5wdXQpewogICAgZmxvYXQgcmh3ID0gMS4wIC8gaW5wdXQuZ2xfRnJhZ0Nvb3JkLnc7CiAgICBnbF9GcmFnQ29vcmQueCA9IGlucHV0LmR4X1Bvc2l0aW9uLng7CiAgICBnbF9GcmFnQ29vcmQueSA9IGlucHV0LmR4X1Bvc2l0aW9uLnk7CiAgICBnbF9GcmFnQ29vcmQueiA9IChpbnB1dC5nbF9GcmFnQ29vcmQueiAqIHJodykgKiBkeF9EZXB0aEZyb250LnggKyBkeF9EZXB0aEZyb250Lnk7CiAgICBnbF9GcmFnQ29vcmQudyA9IHJodzsKICAgIF92X3RleENvb3JkID0gaW5wdXQudjAueHk7CgpmbG9hdDIgX3RleENvb3JkMjMyMiA9IF92X3RleENvb3JkOwooX3RleENvb3JkMjMyMiA9IG1heChfdGV4X2NsYW1wX3JlY3QueHksIG1pbihfdGV4X2NsYW1wX3JlY3QuencsIF90ZXhDb29yZDIzMjIpKSk7CmZsb2F0NCBfdGV4Q29sb3IyMzIzID0gZ2xfdGV4dHVyZTJEKF9zX3RleHR1cmUsIF90ZXhDb29yZDIzMjIpOwooX3RleENvbG9yMjMyMyA9IChfdGV4Q29sb3IyMzIzICogX2FscGhhKSk7CihnbF9Db2xvclswXSA9IF90ZXhDb2xvcjIzMjMpOwooZ2xfQ29sb3JbMF0gPSBmX0FwcGx5Um91bmRlZENvcm5lcl9mbG9hdDQoZ2xfQ29sb3JbMF0pKTsKcmV0dXJuIGdlbmVyYXRlT3V0cHV0KCk7Cn0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAUosAAAkAAABnbF9Db2xvcjALAAAAZ2xfQ29sb3JbMF0AAAAAAAAAAHkCAABzdHJ1Y3QgR1NfSU5QVVQKewogICAgZmxvYXQ0IGR4X1Bvc2l0aW9uIDogU1ZfUG9zaXRpb247CiAgICBmbG9hdDQgZ2xfUG9zaXRpb24gOiBURVhDT09SRDE7CiAgICBmbG9hdDQgZ2xfRnJhZ0Nvb3JkIDogVEVYQ09PUkQyOwogICAgZmxvYXQyIHYwIDogVEVYQ09PUkQwOwp9OwoKc3RydWN0IEdTX09VVFBV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